package com.sxpcwlkj.system.entity.bo;

import com.sxpcwlkj.framework.entity.BaseEntity;
import com.sxpcwlkj.system.entity.SysUser;
import com.sxpcwlkj.system.entity.vo.SysRoleVo;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @Description TODO
 * @Author sxpcwlkj
 * @Version v1.0.0
 */

@Data
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = SysUser.class, reverseConvertGenerate = false)
public class SysUserBo extends BaseEntity{
    /**
     * 主键ID
     */
    private String userId;

    /**
     * 部门ID
     */
    private Long deptId;

    private Long[] deptIds;
    /**
     * 部门名称
     */
    private String department;
    /**
     * 岗位编号数组
     */
    private String postIds;

    /**
     * 用户账号
     */
    private String userName;

    /**
     * 用户昵称
     */
    private String nickName;

    /**
     * 用户类型
     */
    private String userType;

    /**
     * 邮箱
     */

    private String email;

    /**
     * 手机号
     */
    private String phonenumber;

    /**
     * 微信id
     */
    private String wxOpenid;

    /**
     * 微信开发者id
     */
    private String wxUnopenid;

    /**
     * 性别;0：保密 1：男2：女
     */
    private String sex;

    /**
     * 头像
     */
    private String avatar;

    /**
     * 密码
     */
    private String password;



    /**
     * 删除标志;0代表存在 2代表删除
     */
    private Integer delFlag;

    /**
     * 最后登录ip
     */
    private String loginIp;

    /**
     * 最后登录时间
     */
    private Date loginDate;
    /**
     * 对称性秘钥
     */
    private String aesKey;

    /**
     * 用户拥有角色
     */
    private List<SysRoleVo> roleVoList;
    /**
     * 用户角色集合
     */
    private String[] roleCodes;
    /**
     * 角色ID
     */
    private Long roleId;
    /**
     * 角色编码
     */
    private String roleCode;
    /**
     * 角色id
     */
    private String roleName;

}
